package pe.gob.sunarp.entidad;

import java.io.Serializable;
import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Set;


/**
 * The persistent class for the PAGO_EN_LINEA database table.
 * 
 */
@Entity
@Table(name="PAGO_EN_LINEA")
public class PagoEnLinea implements Serializable {
	private static final long serialVersionUID = 1L;
	private long pagoEnLineaId;
	private String codError;
	private String codRetorno;
	private String codVerific;
	private String estado;
	private Date fecHorResp;
	private Date fecHorSol;
	private String fecVencim;
	private BigDecimal monto;
	private String nroTerminal;
	private String nroTransac;
	private BigDecimal numItems;
	private String numTarj;
	private String numTramite;
	private BigDecimal personaId;
	private BigDecimal solicitudId;
	private BigDecimal tipoTramite;
	private Date tsTransac;
	private String usrCrea;
	private MediosPago mediosPago;
	private Movimiento movimiento;
	private Set<PagoEnLineaComp> pagoEnLineaComps;

    public PagoEnLinea() {
    }


	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="PAGO_EN_LINEA_ID", unique=true, nullable=false)
	public long getPagoEnLineaId() {
		return this.pagoEnLineaId;
	}

	public void setPagoEnLineaId(long pagoEnLineaId) {
		this.pagoEnLineaId = pagoEnLineaId;
	}


	@Column(name="COD_ERROR", length=3)
	public String getCodError() {
		return this.codError;
	}

	public void setCodError(String codError) {
		this.codError = codError;
	}


	@Column(name="COD_RETORNO", length=1)
	public String getCodRetorno() {
		return this.codRetorno;
	}

	public void setCodRetorno(String codRetorno) {
		this.codRetorno = codRetorno;
	}


	@Column(name="COD_VERIFIC", length=5)
	public String getCodVerific() {
		return this.codVerific;
	}

	public void setCodVerific(String codVerific) {
		this.codVerific = codVerific;
	}


	@Column(nullable=false, length=1)
	public String getEstado() {
		return this.estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="FEC_HOR_RESP")
	public Date getFecHorResp() {
		return this.fecHorResp;
	}

	public void setFecHorResp(Date fecHorResp) {
		this.fecHorResp = fecHorResp;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="FEC_HOR_SOL")
	public Date getFecHorSol() {
		return this.fecHorSol;
	}

	public void setFecHorSol(Date fecHorSol) {
		this.fecHorSol = fecHorSol;
	}


	@Column(name="FEC_VENCIM", length=6)
	public String getFecVencim() {
		return this.fecVencim;
	}

	public void setFecVencim(String fecVencim) {
		this.fecVencim = fecVencim;
	}


	@Column(precision=12, scale=2)
	public BigDecimal getMonto() {
		return this.monto;
	}

	public void setMonto(BigDecimal monto) {
		this.monto = monto;
	}


	@Column(name="NRO_TERMINAL", length=5)
	public String getNroTerminal() {
		return this.nroTerminal;
	}

	public void setNroTerminal(String nroTerminal) {
		this.nroTerminal = nroTerminal;
	}


	@Column(name="NRO_TRANSAC", length=5)
	public String getNroTransac() {
		return this.nroTransac;
	}

	public void setNroTransac(String nroTransac) {
		this.nroTransac = nroTransac;
	}


	@Column(name="NUM_ITEMS")
	public BigDecimal getNumItems() {
		return this.numItems;
	}

	public void setNumItems(BigDecimal numItems) {
		this.numItems = numItems;
	}


	@Column(name="NUM_TARJ", length=20)
	public String getNumTarj() {
		return this.numTarj;
	}

	public void setNumTarj(String numTarj) {
		this.numTarj = numTarj;
	}


	@Column(name="NUM_TRAMITE", length=15)
	public String getNumTramite() {
		return this.numTramite;
	}

	public void setNumTramite(String numTramite) {
		this.numTramite = numTramite;
	}


	@Column(name="PERSONA_ID")
	public BigDecimal getPersonaId() {
		return this.personaId;
	}

	public void setPersonaId(BigDecimal personaId) {
		this.personaId = personaId;
	}


	@Column(name="SOLICITUD_ID")
	public BigDecimal getSolicitudId() {
		return this.solicitudId;
	}

	public void setSolicitudId(BigDecimal solicitudId) {
		this.solicitudId = solicitudId;
	}


	@Column(name="TIPO_TRAMITE")
	public BigDecimal getTipoTramite() {
		return this.tipoTramite;
	}

	public void setTipoTramite(BigDecimal tipoTramite) {
		this.tipoTramite = tipoTramite;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="TS_TRANSAC")
	public Date getTsTransac() {
		return this.tsTransac;
	}

	public void setTsTransac(Date tsTransac) {
		this.tsTransac = tsTransac;
	}


	@Column(name="USR_CREA", length=15)
	public String getUsrCrea() {
		return this.usrCrea;
	}

	public void setUsrCrea(String usrCrea) {
		this.usrCrea = usrCrea;
	}


	//bi-directional many-to-one association to MediosPago
    @ManyToOne
	@JoinColumn(name="MEDIO_ID", nullable=false)
	public MediosPago getMediosPago() {
		return this.mediosPago;
	}

	public void setMediosPago(MediosPago mediosPago) {
		this.mediosPago = mediosPago;
	}
	

	//bi-directional many-to-one association to Movimiento
    @ManyToOne
	@JoinColumn(name="MOVIMIENTO_ID")
	public Movimiento getMovimiento() {
		return this.movimiento;
	}

	public void setMovimiento(Movimiento movimiento) {
		this.movimiento = movimiento;
	}
	

	//bi-directional many-to-one association to PagoEnLineaComp
	@OneToMany(mappedBy="pagoEnLinea")
	public Set<PagoEnLineaComp> getPagoEnLineaComps() {
		return this.pagoEnLineaComps;
	}

	public void setPagoEnLineaComps(Set<PagoEnLineaComp> pagoEnLineaComps) {
		this.pagoEnLineaComps = pagoEnLineaComps;
	}
	
}